export default function (req) {
  let url = req.url;
  if (url === void 0) return url;

  let obj = req._parsedUrl;
  if (obj && obj._raw === url) return obj;

  obj = {};
  obj.query = obj.search = null;
  obj.href = obj.path = obj.pathname = url;

  let idx = url.indexOf('?', 1);
  if (idx !== -1) {
    obj.search = url.substring(idx);
    obj.query = obj.search.substring(1);
    obj.pathname = url.substring(0, idx);
  }

  obj._raw = url;

  return (req._parsedUrl = obj);
}
